package com.example.picturemodule

import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.graphics.Typeface
import android.graphics.drawable.ShapeDrawable
import android.graphics.drawable.shapes.OvalShape
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity

/**
 * Drawable 就是一个可画的对象，
 * 其可能是一张位图（BitmapDrawable），
 * 也可能是一个图形（ShapeDrawable），
 * 还有可能是一个图层（LayerDrawable），
 * 我们根据画图的需求，创建相应的可画对象
 */
class DrawTestActivity : AppCompatActivity() {
	override fun onCreate(savedInstanceState: Bundle?) {
		super.onCreate(savedInstanceState)
		setContentView(MyView(this))
	}

	internal inner class MyView(context: Context?) : View(context) {
		private val shapeDrawable: ShapeDrawable
		private val paint: Paint
		override fun onDraw(canvas: Canvas) {
			super.onDraw(canvas)

			//画绿色背景
			canvas.drawColor(Color.GREEN)
			//画椭圆
			shapeDrawable.draw(canvas) //将自己画到画布上
			//画文本
			canvas.drawText("来自尚硅谷的你, 很NB", 10f, 120f, paint)
		}

		init {
			shapeDrawable = ShapeDrawable(OvalShape())
			shapeDrawable.paint.color = Color.RED //指定颜色
			shapeDrawable.setBounds(10, 10, 200, 100) //指定位置
			paint = Paint()
			paint.color = Color.BLUE //颜色
			paint.textSize = 20f //字体大小 
			paint.typeface = Typeface.DEFAULT_BOLD //粗体字
			paint.isAntiAlias = true //消除锯齿
		}
	}
}